Modern computing devices typically include the ability to output and/or capture a media stream. For example, computing devices are often configured to output audio and/or video. Additionally, computing devices are often configured to capture audio and/or video. Conventionally, computing devices have been configured to output and/or capture media “on demand.” That is, a computing device may receive a prompt to output a media stream or to capture of a media stream. Subsequently, the computing device will initiate the output or the capture at a first opportunity.
As will be appreciated, the number of computing devices in use has rapidly increased. In many cases, multiple computing devices may be concurrently used by a single person or within a single location. For example, a home may have a variety of computing devices (e.g., computer, tablet, smart phone, television, content streaming device, wireless speakers, wireless displays, or the like) in use at any given time. Additionally, a single computing device may be equipped with multiple input and output components (e.g., speakers, displays, microphones, cameras, or the like).
As noted, however, computing platforms are generally configured to only output media streams or capture media streams at a first opportunity. Accordingly, computing platforms cannot synchronize the output or capture of media streams across multiple input and output devices or across multiple computing devices. One solution to coordinating the output or capture of media streams has been to provide a single dedicated hardware component that has exclusive access to the input and output devices in order to manage the synchronization. This can be problematic, however, and is impractical for synchronizing the output or capture of media stream across multiple devices that are not suited for exclusive control by the dedicated hardware component.
It is with respect to the above, that the present disclosure is provided.